Robotic toy

ABSTRACT

An apparatus that is a robotic toy. The robotic toy includes at least one processor that controls both sensors and a motor. The motor powers a plurality of ground contacting devices. The ground contacting devices allow the robotic toy to move over a surface. The ground contacting devices rotate about an axel and each ground contacting device includes a plurality of flexible members that provide for at least four radial points of contact for each revolution of the axel. The processor controls the rotation of the ground contacting device by regulating the flow of energy that is provided from a battery source. Two axels are generally employed in various embodiments of the robotic toy where each axel has two ground contacting devices. Each of the ground contacting devices represents a leg of an animal and simulates the movement of the animal. Each flexible member includes a joint at which the flexible member bends. The flexible member and the joint may be made out of two different materials each having a different elasticity. The joint of the flexible member compresses the flexible member during a portion of the rotation about the axel and decompresses about a second portion of the rotation.

PRIORITY

The present U.S. patent application claims priority from U.S. Provisional Patent Application having Ser. No. 60/496,640 filed on Aug. 20, 2003 entitled “Apparatus and Method for The robotic Movement” bearing attorney docket number 2829/101. The U.S. Provisional Patent Application is incorporated herein by reference in its entirety.

TECHNICAL FIELD AND BACKGROUND ART

The present invention relates to a robotic toy. The robotic toy includes motor controlled ground contacting members that provide simulated life-like movement of a rodent, such as a hamster or guinea pig.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing features of the invention will be more readily understood by reference to the following detailed description, taken with reference to the accompanying drawings, in which:

FIG. 1 is figure showing a mechanical linkage and ground contacting devices for moving a robot;

FIG. 2 is a figure showing the shape of the ground contacting devices; and

FIG. 3 is a block diagram showing the relationship between the environment, the sensors, and the programming hierarchy followed by the processor;

FIG. 4 shows the various states that the processor of the robot based upon various external factors;

FIG. 5 is communications diagram showing how in one embodiment the robotic toy communicates wirelessly with another the robotic toy;

FIG. 6 is an internal view an embodiment of the robotic toy showing some of the internal components including the main processor and a wireless link;

FIG. 6A is a view of one embodiment of a programmable system on a chip; and

FIG. 7 shows the various processor states for another embodiment of the robotic toy.

SUMMARY OF THE INVENTION

The present invention is directed toward a robotic toy. The robotic toy includes at least one processor that controls both sensors and a motor. The motor powers a plurality of ground contacting devices. The ground contacting devices allow the robotic toy to move over a surface. The ground contacting devices rotate about an axel and each ground contacting device includes a plurality of flexible members that provide for at least four radial points of contact for each revolution of the axel. The processor controls the rotation of the ground contacting device by regulating the flow of energy that is provided from a battery source.

Two axels are generally employed in various embodiments of the robotic toy where each axel has two ground contacting devices. Each of the ground contacting devices represents a leg of an animal and simulates the movement of the animal. Each flexible member includes a joint at which the flexible member bends. The flexible member and the joint may be made out of two different materials each having a different elasticity. The joint of the flexible member compresses the flexible member during a portion of the rotation about the axel and decompresses about a second portion of the rotation. In one embodiment in which there are two flexible members that rotate about the axle, each flexible member will be in a compressed state for at least a quarter of a revolution. The flexible member comes into contact with the surface at two non-contiguous locations. Each flexible member behaves like the foot and leg of a hamster/guinea pig compressing and decompressing to propel the robotic toy forward.

In certain embodiments, the ground contacting elements may be made out of urethane. In various embodiments, the flexible members may be constructed from a material having a durometer that is greater than 40.

The robotic toy may be shaped in the form of a guinea pig or a hamster in one embodiment. The robotic toy has a plush exterior, such that the exterior simulates the fur on an actual hamster or guinea pig. The robotic toy may include multiple sensors that provide a processor with sensor signal that causes the execution of various behaviors of the robotic toy. The processor may be constructed from a programmable system on a chip, such as those manufactured by the Cypress Semiconductor Corporation. Thus, all functions of the robot are controlled through the programmable system on a chip. Further all program code for the programmable system on a chip can be written in a high-level computer language such as the C computer language and object oriented programming can be employed.

The robotic toy may include a wireless link that is electrically coupled to the processor. The wireless link allows the robotic toy to send and receive wireless signals to and from the robotic toy. The processor is capable of receiving an audio signal across the wireless link and playing the audio signal through a speaker that is built-in the robotic toy. The audio signal may be a menu listing from a program that is operating on a computer at the other end of the wireless link. The robotic toy includes one or more input devices, wherein the input devices may be the ears of the robotic toy. By depressing/squeezing the ears of the robotic toy, the robotic toy registers a user's input selection. When an audio menu selection is sent wirelessly to the robotic toy and the menu selection is played for a user of the robotic toy, the user may select a menu entry as the audio expression of the menu entry is played. If a user selects the menu entry, the input signal is provided to the processor and the processor transmits the message wireless through the wireless link. The user's entry is received wirelessly by the user's computer and the computer program operating on the user's computer responds to the user's input. Thus, a user may interactively control a computer program that is running remotely from the robotic toy. For example a user may select from one of a plurality of stories to be read. Once the story is selected, the computer program on the user's computer translates the text file or text plus speech parameter file into an audio file that is then transmitted to the robotic toy and the audio file is played back by the processor through the speaker that is built into the robotic toy.

In other embodiments, the wireless link of the robotic toy is used in a system for communication between robotic toys wherein a user of one robotic toy can access a computer program on the user's local computer and request that a chat session is initiated. The request is directed over the internet to a server which arranges the connection. The server may also be used for authorizing a session to begin such that only register users may engage in chatting. A connection is then made between the server and the second user's computer. The program running on the second user's computer transmits a wireless signal to the robotic toy of the second user which causes an auditory alarm notifying the second user that a chat-session has been established.

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

Definitions. As used in this description and the accompanying claims, the following terms shall have the meanings indicated, unless the context otherwise requires: a robot is a device that has autonomous or semi-autonomous capabilities for movement. Additionally, a robot has the ability to move in a plurality of directions and responds to its environment through the use of sensors. In one embodiment, the invention is a the robotic toy capable of movement using a plurality of feet which rotate about an axis for each real foot of a real-life rodent. The robot is controlled by a main central processing unit which receives sensory input from a plurality of sensors and which sends signals for controlling motors to cause movement and to create auditory sounds. The robotic toy may include one or more actuators, for controlling movement of the head of the robotic rodent.

The robotic robot includes a plush outer surface that simulates the fur that is found on a guinea pig or hamster.

The robotic toy is capable of obstacle detection and edge detection and the processor contains algorithms for avoiding obstacles and edges, such as stairs. Because the robotic toy contains multiple IR sensors in its head (left/right/front), the robot can determine distances from objects. Based upon the distances, the robot can move through a maze. The robot will move to the center of two parallel walls and move in a forward direction until the front IR sensor senses an obstacle/wall and the walls are no longer equidistant from the left and right sensors. The robot will then turn and repeat this sequence until the maze is navigated.

FIG. 1 is figure showing a drive train 10 and ground contacting devices 15 for moving the robotic toy. In one embodiment, the toy is a hamster. The ground contacting devices 15 are shaped like the legs and feet of a rodent and have a joint 20. In certain embodiments, the joint 20 may flex. In other embodiments, the leg 22 and foot 25 of the ground contacting devices may be flexible. In one embodiment, there are two legs each connected to a rotating axel 30 for each leg of a rodent. It can be imagined that more than two legs may be employed for each actual rodent leg, however the following disclosure will discuss the embodiment having two legs for each real leg of a rodent. As such, there are a total of eight legs for the robotic rodent, with four on each side. The legs rotate about the axel 30 and are diametrically opposed to one another. Each ground contacting device 15 spins about its own axel. Unlike a car, the left and right front ground contacting devices do not share a common axel. The rotation of the legs is controlled by a motor in the drive train. In one embodiment, the motor is a model HL451-2865 manufactured by the Hing Lung Motor Company. Another motor may be model S28-2485-45N-04 which is manufactured by Sun Motor. The robotic toy is controlled by a processor which processes code and receives signals from sensors and sends control signals to actuators and to the motors. Control signals are sent to each motor to control the speed and direction of the motor. The drive train may include multiple motors. Each side of the robotic toy(right, left) may have a separate motor such that the legs of the right (or left) side of the rodent will act in unison. In other embodiments, each leg may be provided with its own motor and each pair of legs spins about its own axel. The processor and motors are powered by one or more batteries which may be NiMh batteries that are rechargeable.

The drive train design uses four worm gears and four matched spur gears. One worm gear and spur gear per pair of legs (ground contacting device). As the motor rotates, a pulley attached to the motor is turned. The pulley has a belt around it and is attached to a second pulley. The belt is a flexible belt, which may be made out of rubber. If too much force is required in order to propel the robotic toy forward, the belt will slip providing a clutch-like feature. As the first pulley rotates, it causes the second pulley to rotate. The pulleys may be of different sizes so that the revolutions of the motor and the revolutions of the ground contacting elements may be different. The second pulley is attached to a shaft that has a pair of worm gears for each of the front and rear pairs of legs. As the motor rotates, the pulleys are rotated which causes the shaft to rotate. The worm gears turn with the shaft and the spur gears which are meshed with the worm gears turn causing the axels which are attached to the ground contacting devices to turn. As the axels turn so do the legs. This arrangement allows for each of the two ground contacting devices (pairs of legs) on a side of the rodent to be driven in unison. The rodent as a whole is able to turn by varying the speed of the motors from one side to the other. In such a fashion, the device is steered by allowing the legs to “skid steer.” The design of the drive train and the construction of the ground contacting devices provides a quieter mechanism for moving the robotic robot as opposed to electro-mechanical actuators and electro-hydraulic actuators. The designed system additionally mimics nature in its simplicity and provides life-like rodent leg movements.

FIG. 2 is a figure showing the shape of the ground contacting devices 15. Each ground contacting device includes two legs including feet 25. The ground contacting device rotates about an axel 30 and provides four radial points of contact per rotation (numbered 1-4) that are distributed about the axel and in certain embodiments may be equally distributed. The design includes two feet along with two joints in the leg and is made from a flexible, elastic and/or resilient material. For example, the ground contacting device may be made out of urethane having various durometers, such as 42, 60 or 90. Other flexible materials may also be employed in making the ground contacting device. It should be understood that the ground contacting device may be made from a plurality of materials, some of which are more or less flexible, elastic and/or resilient. For example, the foot may be made of a more flexible material than the joint and leg so that the foot will bend as the rodent moves forward while the stiffer materials will provide greater strength and rigidity, especially near the axel. Materials having a high degree of friction may be employed in the feet so that the feet have a good grip when contacting the ground. Materials that provide friction may be employed at any point of the ground contacting device that comes into contact with the ground.

The shape of the foot and leg when rotated provide a motion which mimics the motion of a rodent's leg and foot. In a first position the joint of the ground contacting device is in contact with the ground. As the axel begins to rotate the weight of the rodent body is transferred to the foot as the rodent body is raised up based on the contour from the joint to the foot. The foot is cantilevered and the weight of the body of the rodent is redistributed about the lever as the axel rotates causing compression about the joint. The cantilever flexes as further rotation occurs lowering the rodent body. As the axel continues to rotate forward the weight of the rodent robot body is then transferred from the foot to the back of the next joint. The axel continues to rotate about the joint. The joint, in the present embodiment is circular and is composed of more material than the foot and leg and therefore does not compress as much under the weight of the body of the robotic rodent. As the axel continues its rotation, the joint remains in contact with the ground through approximately one half of its circumference. The process then begins again as the axel continues to rotate transferring the weight from the joint and onto the new leg and foot. With this type of motion there are four contact points which are the two joints and the two feet for the ground contacting device. As the axel rotates, the movement that occurs in the feet and joint simulates that of a real-life rodent.

Each of the motors can be operated independently to allow the rodent to turn or the motors can be operated simultaneously to allow the robotic toy to move in a forward or a reverse direction. It should be noted that the foot and leg of the ground contacting device are symmetrical such that they can operate equally in both forward and reverse directions. The robotic toy can be made to move at various speeds in both the front and reverse directions by providing the appropriate amount of voltage to the motor having the proper direction.

The robotic toy contains a processor with a set of subroutines that respond to various input information. FIG. 3 shows a diagram showing the relationship between the environment/user, the robotic toy's sensors and the processors low level and high level processing subroutines. Based upon environmental input from the sensors, the sensor input is evaluated during a first period. The sensor data is therefore updated in memory every period. The subroutines of the program running on the processor are evaluated over a time period that is shorter in duration than that for the sensor updating. In such a way, whenever the sensors are updated, the high level processing will be evaluated with the new data. It should be understood that the high level and low level processing periods could be equal in time or the high level processing could be performed at a slower rate than that of the low level processing.

The robotic toy includes several sensors. In one embodiment there are seven IR sensors. One is positioned at the location of the nose of the robot rodent. The robot rodent includes two IR sensors on either side of its head (left/right) allowing the robot to judge distance from objects. The remaining four sensors are positioned throughout the body of the robot. The sensors may be positioned on the bottom of the robot in order to allow the robot to sense edges and avoid stairs and falling over while walking. The robot may include other sensors, such as light sensitive switches, tilt sensors, and touch sensors, for example.

In response to the input received by the sensors the rodent will demonstrate different behaviors. The behaviors may include movement and sound. The robotic toy may move quickly toward a sound or away from a sound, toward a light source or away from the light source depending on the programming that is associated with the processor. The subroutines dictate the signals that are sent to the motors for causing the rodent to move using the ground contacting devices. The subroutines will place the robotic toy into one of several states depending on the information that is received from the sensors.

The robot can go through each of six different states 400. Only three of the states produce movement or sound. The states are shown in FIG. 4.

Explanation of Different States

Quiescent (410)

Only one sensor is monitored. When the sensor is accessed for a predetermined time the robot enters a different state. This state is a pre-activation state.

Stand By (420)

This state allows for the robot to be shut off without losing any memory. Sensor values are stored in memory and the previous state is saved. When the robotic toy enters the standby state after it has been activated and has a stored history of information from being in the adapted state, the robot will restart in adapted state, remembering the last state. Similarly, if the robot was in scared state as described below, it will enter the re-enter the scared state when the robot is reactivated.

Scared (430)

After the robotic toy is initially provided with power it will initialize the scared state. The scared state causes the robot to walk in a randomized pattern. The processor will provide the motor with voltage levels that are essentially random which will cause the motor to spin in a randomized pattern. Each motor will be controlled by the processor, so as to cause the robot to move forward, backwards and to turn. The direction and speed will change.

Within the scared state, depending on what happens to the robot, different reactions occur. If the robot is turned upside down as sensed by the tilt sensors, the processor will cause the motor to shut down. If the robot gets stuck in between obstacles the robot will produce a sound indicating that it is stuck and then will shut off power to the motors.

Additionally, if the light sensors sense no change in light, the robot will go into standby mode after a predetermined time. If the tilt sensors are activated and the robot is picked up the processor will access other sensors to indicate if certain patterns occur. For example, if there is a touch sensor in the head and at the tail of the robot and the head sensor is touched followed by the tail sensor successively four times the robot will exit the scared state.

During the scared state if an edge is detected, the processor will cause the robot to stop moving by cutting power to the motor, the processor will then cause power to be reversed such that the robot backs up slowly. The robot will then turn either left or right by 45 degrees and then continue moving forward. If an object is detected in front of the robot, the robot will attempt to move around the object by performing the same steps as it did when it detects an edge. The robot also avoids loud sounds. If three hand claps occur in succession then the processor will cause the motors to stop moving the robot. The robot will therefore pause and the robot will turn around and quickly move away from the sound. Similarly if the robot senses light, the robot will turn around and move into a darker part of the environment.

Adapted (440)

The processor will cause the robot to go into an adapted state under certain conditions. If the robot receives sensory input from the touch sensor near its head followed by input from the tail sensor on four successive occasions, then the robot is placed into the adapted state and different sub-routines are run.

In the adapted mode a timer is set by the processor. In one embodiment, the timer is set for a twenty minute period. If the robot does not experience certain sensory input, during this time period, the robot will return to the scared state. For example, during this time period the robot may need to experience being stroked on its top surface four times as has been previously described. Or, the robot may need to sense the presence of another IR device. The IR device may represent food for the robot. As such, the processor senses with an IR sensor another IR device which stores in associated memory, the fact that the robot has been fed. This may be done by changing a variable in memory or causing a flag to be selected or de-selected indicating that the robot is no longer hungry.

In the adapted state, when the auditory sensors receive three loud sounds within a fixed time period, such as, three handclaps, the processor will cause an actuator in the head to turn toward the sound and will also cause the motors to be powered such that the robot will move toward the sound. This requires the movement algorithm within the processor to determine the direction and then to turn the robot in that direction by asynchronously powering the motors so that the robot turns in the direction of the sound and then synchronously powering the motors so that the robot moves forward. A similar behavior occurs with respect to the robot sensing changes in light through its light sensors. In the adapted state, the robot will move toward a light source.

In the adapted state, when the robot senses a wall through its IR sensors on either side of its head, the robotic robot will turn toward the wall and will follow the wall over a short distance. If a maze is detected, such that two parallel walls are detected, the robot will move to the center of the walls and will move forward. The rodent will turn when the right and left sensors on the head sense a disparity in distance and an object/wall is sensed by the IR sensor in the front of the head. The robot will repeat these behaviors until the maze is negotiated.

Further, if another IR device transmits a signal near a sensor at the front of the robot's head, the robot will move toward the transmitting IR device. The IR device that transmits a signal is a power source for charging the rechargeable battery of the robot. In one embodiment, this IR device is shaped like a carrot. Within the computer program that is running on the processor within the robot, this IR device represents food/power and will cause a flag or variable to be set indicating that the robot is no longer hungry after the robot is attached to a power to recharge its batteries. The processor maintains a power level reading and when the power falls to a default level, say 25%, the robot will enter the hungry state as defined below.

There can be a variety of reasons that the robot leaves the adapted state. For example, if the robot is not provided with another IR device that represents food over a set period of time the robot will “die” due to a loss in battery power and enter the quiescent state. If the robot is stroked in the wrong direction, from tail to head four consecutive times, such that the tail and head touch sensors receive this information over a given period of time, the robot will re-enter the scared state.

Hungry (450)

In certain embodiments, the robotic toy includes one or more rechargeable batteries. The processor monitors the battery level. When the battery level drops below a set threshold, the robot will enter a hungry state and will have to be recharged, the robot can signal such a state through an auditory signal. In certain embodiments, when the robotic toy senses with its sensors that a predetermined object is present, for example an orange carrot shaped object, the processor of the robotic toy will cause the robotic toy to move toward the object. In one embodiment, the predetermined object (carrot) is a power supply. The robotic toy may include at least one light sensor which can sense different colors and the processor includes a sub-routine for sensing a particular color, such as the RGB color values. The sensor signal is digitized and the color levels are compared to a predetermined color value for the carrot. In another embodiment, the power supply (carrot) includes an IR transmitter and the robotic toy has an IR sensor. When the robotic toy is near the power supply, and the IR sensor is activated, the robotic toy will begin to move in a forward direction toward the IR transmitter. The robotic toy will follow the carrot until the carrot is inserted into the power connection of the robotic toy which can be the simulated mouth of the robotic toy. Thus, the robotic toy will behave similar to a hamster or guinea pig and will be attracted to food, which in this case is its power supply.

Loading (460)

The loading state is initiated when the reloading connector concealed in the IR transmitter shaped like a carrot is plugged into the robot. The carrot is connected with an AC/DC adapter via cable. During the loading state all the other activity stops. An LED on the AC/DC indicates when the batteries are recharging and another LED indicates when they are fully recharged. After the loading state is completed by removing the charging adapter, the robot will re-enter the adapted state assuming that the charge level is in excess of the threshold. Appendix A provides flow charts which show the various states and provides pseudo-code corresponding to the various states.

The robotic toy can enter and leave each of these states as indicated in the above description and as further shown in the attached appendix.

FIG. 5. shows one embodiment of the robotic toy 500 that includes a wireless link. The the robotic 500 toy includes a wireless link that can connect to a separate wireless link that is coupled to a PC 510. Software that is running on the PC allows the communication to be transmitted through an internet connection into the internet 520 to a server 530. The server 530 will translate the message and forward the message to a destination PC 540. The destination PC 540 runs software that allows the message to be wirelessly sent through a wireless link coupled to the PC 540 to a wireless link within a second robotic toy 550. The message can then be broadcast through speakers that are incorporated within the robotic toy. In such an embodiment, a user of the first robotic toy 500 can communicate with a user of the second robotic toy 550 that is at a remote location.

In certain embodiments, an internet connection is not needed and only a wireless connection between the robotic toy 500 and the user's PC 510 is necessary. In such an embodiment, the computer program can be controlled remotely using the robotic toy 500. Once a connection is established between the user's PC and the robotic toy, the user can access a program that is running on the computer and can navigate menus by selecting an input device that is built into the robotic toy. In one embodiment, the ears of the robotic toy are input devices and by squeezing the ears, a control signal is sent to the application on the PC. The menus are converted to a speech file that is sent by the application and which the robotic toy plays through its built-in speakers. Thus, for each selectable element the user may select that element by pressing/squeezing one ear of the robotic toy. The user may be presented with a menu that allows the user to select an application. For example, hear a fairy tale, hear (spoken) messages which are left for the user on the home PC or the internet server for the robotic toy or engage in a conference with another the robotic toy user. The application on the user's PC can be set up to allow for connection to an e-mail program wherein the PC program would contain a text to speech program as known in the art for translating the e-mail messages into a speech file for playback on the robotic toy. Similarly, a user could select to have news or stock quotes read to the user by selecting a webpage containing the information to be read. If the user selects to have a “story” read. The application on the user's pc will create a new speech file with a new menu selection of what stories are available. The user then selects the right or left ear to make a choice, and then this story is sent in a speech file to the robotic toy by the computer program on the PC and the robotic toy plays the speech file through its loudspeaker The story is sent as either an analogue or digital wireless signal. The robotic toy receives the signal and then passes the signal through its processor which directs the speech signal to the robotic toy's loudspeaker. The stories may reside on the user's PC and may be sent to the user's PC through the internet. The stories may be sent as a text file wherein the program on the PC would convert the text file to a spoken digital file or as a text-file+the parameters to synthesize via Text-to-Speech. In one embodiment the Text-to-Speech program is provided by ScanSoft Inc. In other embodiments, the story file would already be converted to a either a spoken digital file or a text file+the parameters to synthesize via text-to-speech which would then be transmitted to the robotic toy.

When one the robotic toy user attempts to connect with a second robotic toy user, the communication is first passed through a server that is coupled to the internet. This allows for authentication to occur so that users of the system can be identified as valid users that have subscribed to the service. In other embodiments, by connecting to the server first, the server is capable of keeping a listing of all active users and provides this information to the requesting user. Thus, when “life-chat” is selected, the user can be presented with the names of other registered users and then can select any of those names. In other embodiments, the server is not a necessary component and communication can occur between robotic toys by connecting wirelessly to the user's PC and establishing a connection between PCs through the internet. In such an embodiment, the users that are available to connect to would be added to the PC by the user of the robotic toy. Thus, the computer program would contain the contact information for another user of a robotic toy to whom the user would like to communicate with.

After the user selects a name, the robotic toy connects, via the home PC through the server to the home PC of the selected the robotic toy user. A signal is sent to this user including a speech file that tells the second user the name of the user who is trying to establish contact. The robotic toy of the second user issues a signal to the user. In one embodiment, the signal is a speech signal that indicates that a call is coming in and the name of the user making the call. If the second user wishes to speak with the first user, the user selects the input device on the robotic toy (right or left ear) and then a chat-session is begun. The users can then talk to each other in real time, wirelessly through the established channel that includes the server. If the second user is either not available or does not wish to answer, the first user can leave a message which be later retrieved. This message is stored either on the server or on the second user's personal computer.

Once the wireless connection is established between the robotic toy and the user's PC, the robotic toy switches states and enters the assistant state. The robotic toy no longer responds to outside stimulus and only responds to a user through its input device which can be located within its ears. When a user wishes to disengage from the assistant state and re-enter the toy state, the user can access the proper menu by using the robotic toy's input device.

In certain embodiments the server sends the text files to the PC. The server may also send Text-to-Speech parameters for the correct intonation and emphasis with the text-files. In such an embodiment the PC synthesizes the voice. The menu files are resident on the PC. For selecting the names of the users of the robotic toy to chat with, the names can be added by the user of the PC application, and are then synthesized by the PC.

FIG. 6 shows the some of the internal components of the robotic toy 600. In this embodiment the robotic toy includes a processor 610 and a wireless link 620. The processor may be a programmable system on a chip and the wireless link can be, but does not necessarily have to be incorporated in the programmable system on a chip. The processor receives all input from the various sensors 630 and depending upon the signals that are received the robotic toy will shift between states. A programmable system on a chip can be used to design the robotic toy. The programmable system on a chip may be those manufactured by Cypress MicroSystems. This programmable system on a chip may include computer program code that is stored in associated memory 640 with the chip and that can be programmed using a high-level computer programming language such as C or C++. The processor receives in the sensor signal and in response to the sensor signals provides power to the various motors 650 within the robotic toy. The processor may cause the robotic toy to move along a surface. Power the motors so that the robotic toy turns or moves its head. The processor also receives sensor information from IR sensors. The IR sensors may include both sensors and also transmitters. Thus, the IR sensors can transmit a signal that can be received by another robotic toy. The robotic toy can also include one or more input devices 660, such as a switch located in the ears of the robotic toy that when either squeezed or pressed produce an input signal that can be transmitted over the wireless link.

FIG. 6A shows a schematic of a programmable system on a chip (PSOC) 610A for one embodiment of the invention. In this embodiment there are a plurality of motors that receive a voltage signal from the PSOC. The signal may be in the form of pulse width modulated signal as is understood by one of ordinary skill in the art. The PSOC receives in signals from the sensors and provides the PWM signals to the motors that control movement of the ground contacting apparatus for movement across a surface as well as movement of any articulated motor controlled portion of the robot such as the head of the robot. Similarly, the PSOC outputs the wireless signals and transmits the wireless signal or passes the wireless signals to a separate wireless communication link. The PSOC also sends signals to the speaker or to a separate audio chip that generates an output audio signal that can be played through the built-in speaker of the robotic toy. When the PSOC receives in the light signals from the eye sensors (which in some embodiments are Infrared Sensors), the PSOC executes an internal program code based upon the state of the robotic toy. In one state the light measurements may be used to differentiate edges or to navigate through a maze, wherein the robotic toy would attempt to stay where there is more light present rather than less light. In different states, the robotic toy may be in a startled state and therefore the toy would move more toward darker areas to simulate hiding.

Provided below are the various states for another embodiment of the invention. In this embodiment of the robotic toy, the robotic toy goes through a variety of states including states from a baby wherein the robotic toy has limited functionality to a more mature state, the play state, wherein the robotic toy exhibits more and more behaviors. The robotic toy will mature depending upon user's interactions with the robotic toy over time. The relationship between states is shown in FIG. 7.

The following abbreviation will be used in the remainder of the document. SVC Sound Volume Control OD Obstacle Detection TUV Taken Up and in Vertical position UD Upside Down GTS Go To Sleep FW Follow Wall WTL Walk Towards Light WAL Walk Away from Light ID In Dark CWR Carrot Without Recharging TF Track Food NT Nose Touched SB Stroke Back PBC Push Back Continuously SBW Stroke Back while Walking (horizontal position) SBS Stroke Back while sitting Still (horizontal position) NTO Navigate Through Obstacles FHM Forced Head Movement DOG Detect Other robotic toy HLP Help function GD The robotic toy dies PAB Peek-a-Boo CS Check State

Stand by

Besides a mechanical switch to cut the battery power, the robotic toy can be put in standby mode. When the stand by mode is started the robotic toy will create an auditory output to simulate snoring. The robotic toy will not react to any kind of input or produce any sounds as long he is in stand-by mode. To exit this state a user can press a predetermined sensor such as a sensor between the eyes (NT). The robotic toy will play an auditory sound to indicate that it is out of the stand by mode and has entered an active state (either baby state or play state). Similarly the robotic toy can exit the stand by state when the batteries are being recharged. Whenever the carrot (charger) is inserted into the charging socket, the robotic toy exits the stand by state and starts the baby or play state with CWR behavior (described below).

Baby State

This is the robotic toy's initial state after the robotic toy receives a battery charge. If the robotic toy ever runs out of power or dies because it is not fed, the toy will return to the baby state. In the baby state, the robotic toy does not walk. It creates audible sounds and bypasses all possible inputs except when the back sensor is engaged by the user, or the user inserts the carrot into the mouth of the robotic toy without the charger. The baby state is ended when the user strokes the back (SB) in any position and while the carrot is plugged in to charge the robotic toy. The robotic toy will produce an auditory sound when exiting the baby state and starts the play state.

Play State

The play state is the active main state. During the play state the robotic toy will have obstacle detection enabled. At the beginning, the robotic toy will only avoid obstacles for 25%. When the OD is overruled the robotic toy will hit the obstacle and produce an auditory sound. The robotic toy will then spin in a direction until there is no obstacle in front detected by its IR sensor and will continue walking. If obstacles are detected in multiple directions, the robotic toy will move backwards. If the sensor of the robotic toy detects obstacle in three directions, the robotic toy enters a help mode and causes an auditory help alert to be sounded.

The user can teach the robotic toy to avoid obstacles. This is done when the user SB of the robotic toy when it is moving and has an obstacle in front and the robotic toy is not avoiding the obstacle. The stroking of the back will make the robotic toy stop and turn away from the obstacle. Each time the user does this, the rate the robotic toy will avoid obstacles automatically increases. This is achieved by a timer variable being decreased in the computer programming code of the robotic toy.

In certain embodiments, the learning behavior will also work when the robotic toy is detecting obstacles but was going to avoid them. The robotic toy will again decrease the timer and more rapidly avoid obstacles. Additionally, the percentage of obstacles that are avoided can be increased by increasing an obstacle avoidance variable. As stated above, initially the robotic toy only avoids a low percentage of objects (e.g. 25%), however this can increase with interaction from the user. In one embodiment, the user will have to stroke the back of the robotic toy, thereby touching a sensor in the back of the robotic toy a predetermined number of times before the object avoidance program will work all of the time. By making contact with a touch sensor in the back of the robot, a sensor signal is sent to the processor which increments the variable percentage that is used in the obstacle avoidance subroutine.

The robotic toy will follow walls. This function is only enabled after the robotic toy has fully mastered the OD function from the interaction with the user. If the robotic toy detects an obstacle on one side, it will try to follow it. When the robotic toy's back sensor is touched while in the follow wall function, the robotic toy will stop and return to the OD mode for a set period of time, such as, 20 seconds. If the user does not intervene after a certain period of time, the robotic toy will exit the follow wall function.

When no obstacles are detected the robotic toy will try to follow the light. The light sensors on either side of the head of the robotic toy allow the robotic toy to sense objects and also to sense light levels. Thus, the processor causes the robotic toy to steer the robotic toy towards the light. When the robotic toy is suddenly in a dark location and in any position (referring to the tilt), the robotic toy will alert the user and the processor causes the robotic toy's head to shake. If the user interacts with the robotic toy, such as by stroking the sensor on the back of the robotic toy, the robotic toy will stop producing the auditory alert. A counter will be increased so next time the probability the robotic toy enters the afraid state in the dark will be lower. After a predetermined number of times the robotic toy will not be afraid of the dark anymore.

The robotic toy is capable of engaging in simulated games such as peek-a-boo, wherein when a user covers the eye sensor of the robotic toy and quickly uncovers the eye sensors. The robotic toy will issue an auditory signal.

The recharger can be disconnected from the carrot and therefore the carrot by itself can be used with the robotic toy. When the carrot is put into the mouth of the robotic toy without the charger the processor causes an auditory sound so that the robotic toy sounds like it is swallowing. The carrot itself contains an infrared transmitter that the infrared sensors of the robotic toy can sense. When the carrot (or other object that contains an infrared sensor programmed to the proper frequency), is placed in front of the robotic toy the robotic toy will sense the IR signal and the processor will cause the robotic toy to move toward the IR signal.

The robotic toy can detect other robotic toys based upon the infrared (IR) signals emitted by the sensors in the eyes and nose. Each robotic toy emits a signal that can be recognized by similar robotic toys. If another robotic toy is detected, the robotic toy stop moving and produces an auditory greeting signal and the processor actuates the motors in the head, so that the head moves from side to side. If there are no obstacles present, the robotic toy will perform a simulated dance, wherein the robotic toy causes the motors that power the ground contacting devices to cause the robot to spin in various directions.

Hungry State

When the battery measurement subroutine of the processor indicates that the battery charge drops below a certain threshold the robotic toy will enter the hungry state. When the hungry state is entered, all movement stops and the processor causes an auditory signal to be sounded indicating hunger. The robotic toy will be able to sense the IR signal from the carrot and will move toward the carrot to be recharged during this state. It is possible that the robotic toy does not receive a recharge and the batteries completely discharge. The internal memory will be erased. As a consequence The robotic toy will restart next time in baby state and the learning functions for OD and ID will restart from zero.

The robotic toy will is also capable of having various walking patterns as detailed below.

Sequence 1: “Something more interesting” (with one obstacle to the left):

-   -   The robotic toy will stop     -   Turn head in one direction     -   Produce surprised sound (SP)     -   Freeze one second     -   Turn head in the other direction (one without obstacle)     -   Produce one of the FW sounds (SP)     -   Wait one second     -   Giggle (SP)     -   Walk in the direction without obstacles.

Sequence 2: “Having some exercise” (without obstacles):

-   -   The robotic toy stops     -   Produces one FW sounds (SP) while shaking head     -   Starts spinning in one direction for three seconds while         giggling (SP)     -   Stops     -   Produces a few sound     -   Continues walking

Sequence 3: “Faking a little nap” (when in dark, without obstacles):

-   -   The robotic toy stops     -   Starts producing snoring sounds for 6 seconds like when going to         stand by     -   Wait three seconds     -   Plays greeting sound (SP)     -   Continue walking

Sequence 4: “Stepped into something” (with one obstacle to the right)

-   -   The robotic toy stops     -   Produce surprise sound (SP)     -   Move backwards for one second     -   Produce bleh sound while shaking head     -   Rotate away from obstacle     -   Continue walking

The present invention may be embodied in other specific forms without departing from the true scope of the invention. The described embodiments are to be considered in all respects only as illustrative and not restrictive.

In an alternative embodiment, some of the innovations of the robotic toy may be implemented as a computer program product for use with a computer system. Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable media (e.g., a diskette, CD-ROM, ROM, or fixed disk), or transmittable to a computer system via a modem or other interface device, such as a communications adapter connected to a network over a medium. The medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques). The series of computer instructions embodies all or part of the functionality previously described herein with respect to the system. Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies. It is expected that such a computer program product may be distributed as a removable media with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web).

Although various exemplary embodiments of the invention have been disclosed, it should be apparent to those skilled in the art that various changes and modifications can be made which will achieve some of the advantages of the invention without departing from the true scope of the invention. These and other obvious modifications are intended to be covered by the appended claims. 

1. A the robotic toy for movement over a surface comprising: a plurality of ground contacting devices rotating about an axel, each ground contacting device including two or more flexible members that provide at least four radial points of contact per rotation; a motor; a processor for controlling rotation of the ground contacting devices by providing control signals to the motor.
 2. The robotic toy according to claim 1 wherein the robotic toy includes two axels and each axel includes two ground contacting devices.
 3. The robotic toy according to claim 2, wherein the flexible members each bend at a joint compressing the flexible member about a portion of the rotation and decompressing about a second portion of the rotation.
 4. The robotic toy according to claim 3, wherein the flexible members compress and decompress over one half of a rotation.
 5. The robotic toy according to claim 3, wherein each flexible member comes into contact with the surface at two non-contiguous locations.
 6. The robotic toy according to claim 5, wherein the each ground contacting members are made of urethane.
 7. The robotic toy according to claim 5, wherein the flexible members have a durometer above
 40. 8. The robotic toy according to claim 3, wherein the flexible member is made from a plurality of materials wherein the joint includes a more elastic material as compared to other sections of the flexible member.
 9. A the robotic toy having an interior and an exterior comprising: a processor; a wireless link electrically coupled to the processor; a motor receiving a control signal from the processor; a ground contacting apparatus powered by the motor causing the robotic toy to move along a surface; an input device coupled to the exterior of the robotic toy for allowing user selection; wherein the wireless link receives wireless communications from a wireless interface providing a user with an audible plurality of selections and the wireless link can transmit a user's selection from the input device.
 10. A system for wirelessly controlling a computer program, the system comprising: a robotic toy including a wireless link; a computer executing the computer program, wherein menu selections from the computer program are converted from text to a speech file; and a wireless transceiver coupled to the computer for at least sending the speech file to the robotic toy and receiving a response signal from the robotic toy; wherein the robotic toy includes an input device for indicating a selection of one of a plurality of menu selections that are audibly played through a speaker and for wirelessly transmitting a response signal to the wireless transceiver indicating the selection; wherein the computer program is responsive to the wirelessly transmitted user selection. 